With exponential growth in bandwidth capacities and operational speeds, manufacturers must provide complex solutions for mass storage systems and networks, including that of virtualized storage systems. One of the ways in which manufacturers have addressed these complexities is to embed more powerful microprocessors within its designs in an effort to meet user demand. However, the faster speeds necessary for handling data in the application layer of the network has created a bottleneck for read/write access to storage devices included within these systems.
Although various techniques exist for write optimization of virtualized storage systems having non-volatile storage devices, where frequently-modified data can be stored in faster memory or using log-structured format to provide more efficient overall application data processing, write optimization comes at a cost to read performance. That is, although “write friendly” schemes exist where user data can be written to a disk at very high data rates, these schemes greatly impact the read performance of the attach and recovery features of a virtual disk (vdisk), making read performance not so “friendly” to the overall performance of the system. In particular, since the data is written in log-structured format, a large amount of small random Input/Output (I/O) requests must be made to the storage device in an effort to respond to each application read, making read performance latency sensitive. Ultimately, sequential reads to multiple versions necessary to read one version suffer due to multiple index traversals and multiple random reads across the hard disk drives (HDD) associated with each data node. However, during data recovery and data migration, each read must be serviced in real time. Thereby, these latency sensitive application reads' poor performance greatly hinders operations of virtualized storage systems. Additionally, these latency sensitive application reads trigger the existence of Quality of Service (QoS) violations in the compute plane of a virtualized storage system.
A general method for overcoming the aforementioned deficiencies is to build a hybrid file system, where writes are optimized by performing sequential Input/Output requests (I/Os) using a log and reads are performed using an extent based file system, which periodically synchronizes data. However, this method is not efficient in terms of cost and performance. Thereby, current data node storage systems do not alleviate this performance latency associated with write optimization. Yet, the ongoing data explosion of these systems requires continuous backup and a data access model compatible with such continuous backup, where read performance of the storage system must be swift. It is within this context that the embodiments arise.